GtkBuilder: Export the template parsing entry point
authorMatthias Clasen <mclasen@redhat.com>
Thu, 30 Apr 2015 05:18:09 +0000 (01:18 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 30 Apr 2015 10:19:10 +0000 (06:19 -0400)
This will let gtk-builder-tool validate templates.

gtk/gtkbuilder.c
gtk/gtkbuilderprivate.h
gtk/gtkwidget.c

index fbf0a58d1e1af087afce671bcf1b802e691fd3c9..2b7a93788024e6909223ba72f576552b44db0c51 100644 (file)
@@ -1115,15 +1115,17 @@ gtk_builder_add_objects_from_file (GtkBuilder   *builder,
 }
 
 /* Main private entry point for building composite container
- * components from template XML
+ * components from template XML.
+ * This is exported purely to let gtk-builder-tool validate
+ * templates, applications have no need to call this function.
  */
 guint
-_gtk_builder_extend_with_template (GtkBuilder   *builder,
-                                   GtkWidget    *widget,
-                                   GType         template_type,
-                                   const gchar  *buffer,
-                                   gsize         length,
-                                   GError      **error)
+gtk_builder_extend_with_template (GtkBuilder   *builder,
+                                  GtkWidget    *widget,
+                                  GType         template_type,
+                                  const gchar  *buffer,
+                                  gsize         length,
+                                  GError      **error)
 {
   GError *tmp_error;
 
index 2a539eb392e0162c6e0591f9bc6e702698a1a7cc..0e3ad8ad4ce21ec989b6e0b1e864ae45db62ce52 100644 (file)
@@ -182,12 +182,12 @@ void      _gtk_builder_menu_start (ParserData   *parser_data,
 void      _gtk_builder_menu_end   (ParserData  *parser_data);
 
 GType     _gtk_builder_get_template_type (GtkBuilder *builder);
-guint     _gtk_builder_extend_with_template (GtkBuilder    *builder,
-                                            GtkWidget     *widget,
-                                            GType          template_type,
-                                            const gchar   *buffer,
-                                            gsize          length,
-                                            GError       **error);
+GDK_AVAILABLE_IN_3_18
+guint     gtk_builder_extend_with_template  (GtkBuilder    *builder,
+                                             GtkWidget     *widget,
+                                             GType          template_type,                                                          const gchar   *buffer,
+                                             gsize          length,
+                                             GError       **error);
 
 void _gtk_builder_prefix_error            (GtkBuilder           *builder,
                                            GMarkupParseContext  *context,
index 4d39ece10052c8d966c4bdbaad95509512dd8e2b..8af820f880d72f7f3e047a436db66f2e135b2e1a 100644 (file)
@@ -16812,7 +16812,7 @@ gtk_widget_init_template (GtkWidget *widget)
    * will validate that the template is created for the correct GType and assert that
    * there is no infinite recursion.
    */
-  if (!_gtk_builder_extend_with_template (builder, widget, class_type,
+  if (!gtk_builder_extend_with_template  (builder, widget, class_type,
                                          (const gchar *)g_bytes_get_data (template->data, NULL),
                                          g_bytes_get_size (template->data),
                                          &error))